
%option noinput
%option nounput
%option yylineno

/* This file is part of the Alliance Project.
   Copyright (C) Laboratoire LIP6 - Departement ASIM
   Universite Pierre et Marie Curie
   
   The Alliance Project  is free software;  you can  redistribute it and/or
   modify  it  under the  terms  of  the  GNU  General  Public License  as
   published by  the Free  Software Foundation; either  version 2  of  the
   License, or (at your option) any later version.
   
   The Alliance Project  is distributed in the hope that it will be useful,
   but  WITHOUT  ANY  WARRANTY;  without  even  the  implied  warranty  of
   MERCHANTABILITY  or  FITNESS  FOR A  PARTICULAR PURPOSE.   See  the GNU
   General Public License for more details.
   
   You should have received a copy  of  the  GNU  General  Public  License
   along with  the Alliance Project;  if  not,  write to the  Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   
   
   License-Tag
   
   Date   : 29/01/2004
   Author : Christophe Alexandre  <Christophe.Alexandre@lip6.fr>
   
   Authors-Tag 
*/
%{
#include <stdio.h>
#include "iocgram.h"

#define YY_NO_UNPUT	/* Avoids warning */

/*int	 yylineno = 1;*/

%}

%%
#.*				{}
\n				{ ++yylineno; }
[Ii][Gg][Nn][Oo][Rr][Ee]	{return IGNORE;	}
[Tt][Oo][Pp]			{return TOP;	}
[Bb][Oo][Tt][Tt][Oo][Mm]	{return BOTTOM;	}
[Ll][Ee][Ff][Tt]		{return LEFT;	}
[Rr][Ii][Gg][Hh][Tt]		{return RIGHT;	}
[Ii][Oo][Pp][Ii][Nn]		{return IOPIN;	}
[Ss][Pp][Aa][Cc][Ee]		{return SPACE;	}
"("				{return PAROUV;	}
")"				{return PARFER;	}
;				{return PTVIRG;	}
"\.0"				{return PTZR;	}
[a-zA-Z0-9_]+			{yylval.text = yytext;
				 return IOCID;	}
[ \t]+				{}
.				{return *yytext;}

%%
int yywrap()
{
  return 1;
}
